//app.js
App({
  onLaunch: function () {
    //引入插件 
    wx.BaaS = requirePlugin('sdkPlugin')
    //让插件帮助完成登录、支付等功能
      wx.BaaS.wxExtend(wx.login,
        wx.getUserInfo,
        wx.requestPayment)
      let clientID = 'a11d9fcc26d8f2b9c469';
      wx.BaaS.init(clientID)
  },
  globalData: {
    userInfo: null
  },
  getUser: function (fun, wxuserid){//获取用户信息 参数一为函数 参数二为wxuserid 
    if (!wx.BaaS.storage.get('userId') && !wxuserid) {//wx.BaaS.storage 全局存儲  .get为获取 .set为设置（存储）
      fun({ status: false, data: {} });//执行传入的函数
      return;//返回 可以阻断后续的运行
    }
    var url = this.getUrl() + '/planttingTree/member';//getUrl为自定义的一个函数 获取链接（方法在下面）
    var data = {//设置需要穿后台的参数
      type : 'getmember',//接口名字
      wxuserid: wxuserid || wx.BaaS.storage.get('userId')// 1|| 2 1为空 则选择2
    }
    this.core(url, 'GET',data,function(res){//请求后台数据 参数一为接口（请求链接） 参数二为请求方式 有 get/post 参数三为传过去的数据 参数四为回调函数 即在请求成功后该干什么 res为请求成功后返回的数据
      var status = (!res.data) ? !1 : !0;
      fun({status:status,data:res.data});
    })
  },
  moreLoad: function (array, size) {//获取第N页的数据
    var result = [];
    for (var x = 0; x < Math.ceil(array.length / size); x++) {
      var start = x * size;
      var end = start + size;
      result.push(array.slice(start, end));//push  数组操作 往一个数组里添加数据
    }
    return result;
  },
  checkInput: function (name, str){//检查输入框是否符合规定
    var t = this; 
    var boolen = false;//初始化默认检查失败
      if(name === undefined || name === ""){
        return boolen;
      };
      switch(name){//switch  if的集成板 case为条件 break为了防止往下次渗透
        case "phone": boolen = t.checkPhone(str);
                      break;
        default: boolen = true;
                  break;
      };
      return boolen;
  },
  checkPhone:function(phone){//检查号码
    var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
    if (!myreg.test(phone)) {
      return false;
    } else {
      return true;
    }
  },
  setConfig: function(){
    // 设置默认的配置: 主要设置请求链接的域名接口
    var config={
      ssl:'https://',
      host: 'planttingtree.goho.co',
      post: '443'
    }
    return config;//返回定义的配置 调用这个方法可以获取这个配置
  },
  getUrl: function(){//拼接默认地址
    var config = this.setConfig();//this 代表APP({})里面的内容 xxx: fucntion 的xxx为函数（方法）
    var url = config.ssl + config.host;//(域名的拼接)
    return url;//返回域名
  },
  core: function(url,method,data,fn){//请求的方法 参数一为请求地址;参数二为请求方式（get,post(get,post的区别自行百度)）,3为回调函数（就是请求这个链接之后该干什么在这个函数里写）
    wx.request({
      method: method,
      url: url, //仅为示例，并非真实的接口地址
      data: data,
      header: {
        'content-type': 'application/json' // 默认值
      },
      success(res) {//成功的回调 res为请求成功后返回的内容
        fn(res);
      }
    })
  },
  showLog: function (msg) {//弹出框
    wx.showToast({
      title: msg,
      icon: 'none',
      duration: 2000
    })
  },
  fmtDate: function(obj){//时间戳转换为时间格式（y-m-d）的函数
    var date = new Date(obj);
    var y = 1900 + date.getYear();
    var m = "0" + (date.getMonth() + 1);
    var d = "0" + date.getDate();
    return y + "-" + m.substring(m.length - 2, m.length) + "-" + d.substring(d.length - 2, d.length);
  }
})